#pragma once
#include "InterfaceDataType.h"

namespace gaeaway_load
{
    namespace dataquery
    {
        size_t getEquipmentById(const EquipmentsOfInput& source, int id);
        EquipmentsOfInput::const_iterator getEquipmentIterById(const EquipmentsOfInput& source, int id);
        
        EquipmentsOfInput getUnloadedEquipments(const EquipmentsOfInput& allEquipments,std::vector<int> loadedEquipmentIdList);
        
        int getAirplaneIdOfLoadedEquipment(const LoadedAirplanes& loadedAirplanes,int equipmentID);
        bool isExistOnCurrentAirplane(const LoadedAirplane& loadedAirplane, int equipmentID);

        double getCurrentLoadingWeight(const LoadedAirplane& loadedAirplane, const EquipmentsOfInput& equipmentSource);

        double getMinLengthOfEquipment(const EquipmentsOfInput& equipments);

        Ranges getFreeAreas(const LoadedAirplane& airplane,double ignoreSpacing);
    }
}


